1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.features;
18
19 import com.google.common.annotations.GwtCompatible;
20 import com.google.common.collect.testing.Helpers;
21
22 import java.util.Collections;
23 import java.util.Set;
24
25
26
27
28
29
30
31 @GwtCompatible
32 public final class TesterRequirements {
33 private final Set<Feature<?>> presentFeatures;
34 private final Set<Feature<?>> absentFeatures;
35
36 public TesterRequirements(
37 Set<Feature<?>> presentFeatures, Set<Feature<?>> absentFeatures) {
38 this.presentFeatures = Helpers.copyToSet(presentFeatures);
39 this.absentFeatures = Helpers.copyToSet(absentFeatures);
40 }
41
42 public TesterRequirements(TesterRequirements tr) {
43 this(tr.getPresentFeatures(), tr.getAbsentFeatures());
44 }
45
46 public TesterRequirements() {
47 this(Collections.<Feature<?>>emptySet(),
48 Collections.<Feature<?>>emptySet());
49 }
50
51 public final Set<Feature<?>> getPresentFeatures() {
52 return presentFeatures;
53 }
54
55 public final Set<Feature<?>> getAbsentFeatures() {
56 return absentFeatures;
57 }
58
59 @Override public boolean equals(Object object) {
60 if (object == this) {
61 return true;
62 }
63 if (object instanceof TesterRequirements) {
64 TesterRequirements that = (TesterRequirements) object;
65 return this.presentFeatures.equals(that.presentFeatures)
66 && this.absentFeatures.equals(that.absentFeatures);
67 }
68 return false;
69 }
70
71 @Override public int hashCode() {
72 return presentFeatures.hashCode() * 31 + absentFeatures.hashCode();
73 }
74
75 @Override public String toString() {
76 return "{TesterRequirements: present="
77 + presentFeatures + ", absent=" + absentFeatures + "}";
78 }
79
80 private static final long serialVersionUID = 0;
81 }